<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.6"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>AngelScript: asIScriptGeneric Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
  $(document).ready(function() { init_search(); });
/* @license-end */
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr id="projectrow">
  <td id="projectlogo"><img alt="Logo" src="aslogo_small.png"/></td>
  <td id="projectalign">
   <div id="projectname">AngelScript
   </div>
  </td>
    <td>        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <span id="MSearchSelect"                onmouseover="return searchBox.OnSearchSelectShow()"                onmouseout="return searchBox.OnSearchSelectHide()">&#160;</span>
          <input type="text" id="MSearchField" value="" placeholder="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.svg" alt=""/></a>
          </span>
        </div>
</td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.6 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function(){initNavTree('classas_i_script_generic.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>

<div class="header">
  <div class="summary">
<a href="classas_i_script_generic-members.html">List of all members</a>  </div>
  <div class="headertitle"><div class="title">asIScriptGeneric Class Reference<span class="mlabels"><span class="mlabel">abstract</span></span><div class="ingroups"><a class="el" href="group__api__secondary__interfaces.html">Secondary interfaces</a></div></div></div>
</div><!--header-->
<div class="contents">

<p>The interface for the generic calling convention.  
</p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr><td colspan="2"><div class="groupHeader">Miscellaneous</div></td></tr>
<tr class="memitem:a5fef937252a5726890ddeb18f96257a8"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classas_i_script_engine.html">asIScriptEngine</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classas_i_script_generic.html#a5fef937252a5726890ddeb18f96257a8">GetEngine</a> () const =0</td></tr>
<tr class="memdesc:a5fef937252a5726890ddeb18f96257a8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a pointer to the script engine.  <br /></td></tr>
<tr class="separator:a5fef937252a5726890ddeb18f96257a8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad221b72a595a60b26b6cca6af7729155"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classas_i_script_function.html">asIScriptFunction</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classas_i_script_generic.html#ad221b72a595a60b26b6cca6af7729155">GetFunction</a> () const =0</td></tr>
<tr class="memdesc:ad221b72a595a60b26b6cca6af7729155"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the function that is being called.  <br /></td></tr>
<tr class="separator:ad221b72a595a60b26b6cca6af7729155"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae620950cd0ea67b1453bba325bd6570c"><td class="memItemLeft" align="right" valign="top">virtual void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classas_i_script_generic.html#ae620950cd0ea67b1453bba325bd6570c">GetAuxiliary</a> () const =0</td></tr>
<tr class="memdesc:ae620950cd0ea67b1453bba325bd6570c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the auxiliary registered with the function.  <br /></td></tr>
<tr class="separator:ae620950cd0ea67b1453bba325bd6570c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader">Object</div></td></tr>
<tr class="memitem:afe84e6c748c915bcf372c1ecd747e367"><td class="memItemLeft" align="right" valign="top">virtual void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classas_i_script_generic.html#afe84e6c748c915bcf372c1ecd747e367">GetObject</a> ()=0</td></tr>
<tr class="memdesc:afe84e6c748c915bcf372c1ecd747e367"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the object pointer if this is a class method, or null if it not.  <br /></td></tr>
<tr class="separator:afe84e6c748c915bcf372c1ecd747e367"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3de95071fa358d554137cae88a5229ea"><td class="memItemLeft" align="right" valign="top">virtual int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classas_i_script_generic.html#a3de95071fa358d554137cae88a5229ea">GetObjectTypeId</a> () const =0</td></tr>
<tr class="memdesc:a3de95071fa358d554137cae88a5229ea"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the type id of the object if this is a class method.  <br /></td></tr>
<tr class="separator:a3de95071fa358d554137cae88a5229ea"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader">Arguments</div></td></tr>
<tr class="memitem:aafdaf0ed1ff5023b2aaf4ae1adfa3714"><td class="memItemLeft" align="right" valign="top">virtual int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classas_i_script_generic.html#aafdaf0ed1ff5023b2aaf4ae1adfa3714">GetArgCount</a> () const =0</td></tr>
<tr class="memdesc:aafdaf0ed1ff5023b2aaf4ae1adfa3714"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the number of arguments.  <br /></td></tr>
<tr class="separator:aafdaf0ed1ff5023b2aaf4ae1adfa3714"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2bdce6872b371355665e932a962548cb"><td class="memItemLeft" align="right" valign="top">virtual int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classas_i_script_generic.html#a2bdce6872b371355665e932a962548cb">GetArgTypeId</a> (<a class="el" href="angelscript_8h.html#ac8186f029686800b7ce36bde4a55c815">asUINT</a> arg, <a class="el" href="angelscript_8h.html#a5428f0c940201e5f3bbb28304aeb81bc">asDWORD</a> *flags=0) const =0</td></tr>
<tr class="memdesc:a2bdce6872b371355665e932a962548cb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the type id of the argument.  <br /></td></tr>
<tr class="separator:a2bdce6872b371355665e932a962548cb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a20f30e6ed55ed952bcb5c70096eb83dd"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="angelscript_8h.html#a48b3da7121b3abb56bff63b3beb0df63">asBYTE</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classas_i_script_generic.html#a20f30e6ed55ed952bcb5c70096eb83dd">GetArgByte</a> (<a class="el" href="angelscript_8h.html#ac8186f029686800b7ce36bde4a55c815">asUINT</a> arg)=0</td></tr>
<tr class="memdesc:a20f30e6ed55ed952bcb5c70096eb83dd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the value of an 8-bit argument.  <br /></td></tr>
<tr class="separator:a20f30e6ed55ed952bcb5c70096eb83dd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afdb602c3c2e285c5f34bc477ebbd1534"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="angelscript_8h.html#a340da175136fbe283932fa3c3442cea0">asWORD</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classas_i_script_generic.html#afdb602c3c2e285c5f34bc477ebbd1534">GetArgWord</a> (<a class="el" href="angelscript_8h.html#ac8186f029686800b7ce36bde4a55c815">asUINT</a> arg)=0</td></tr>
<tr class="memdesc:afdb602c3c2e285c5f34bc477ebbd1534"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the value of a 16-bit argument.  <br /></td></tr>
<tr class="separator:afdb602c3c2e285c5f34bc477ebbd1534"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aab74bcbe4be32fc423b21b75a3f4d57a"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="angelscript_8h.html#a5428f0c940201e5f3bbb28304aeb81bc">asDWORD</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classas_i_script_generic.html#aab74bcbe4be32fc423b21b75a3f4d57a">GetArgDWord</a> (<a class="el" href="angelscript_8h.html#ac8186f029686800b7ce36bde4a55c815">asUINT</a> arg)=0</td></tr>
<tr class="memdesc:aab74bcbe4be32fc423b21b75a3f4d57a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the value of a 32-bit integer argument.  <br /></td></tr>
<tr class="separator:aab74bcbe4be32fc423b21b75a3f4d57a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0fbd6ce45aebc29e29a64dac4affc111"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="angelscript_8h.html#a10aea5de212e440ffd6ec8fc0b17563d">asQWORD</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classas_i_script_generic.html#a0fbd6ce45aebc29e29a64dac4affc111">GetArgQWord</a> (<a class="el" href="angelscript_8h.html#ac8186f029686800b7ce36bde4a55c815">asUINT</a> arg)=0</td></tr>
<tr class="memdesc:a0fbd6ce45aebc29e29a64dac4affc111"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the value of a 64-bit integer argument.  <br /></td></tr>
<tr class="separator:a0fbd6ce45aebc29e29a64dac4affc111"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a487a68e409d79e61fcc624337c4ac991"><td class="memItemLeft" align="right" valign="top">virtual float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classas_i_script_generic.html#a487a68e409d79e61fcc624337c4ac991">GetArgFloat</a> (<a class="el" href="angelscript_8h.html#ac8186f029686800b7ce36bde4a55c815">asUINT</a> arg)=0</td></tr>
<tr class="memdesc:a487a68e409d79e61fcc624337c4ac991"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the value of a float argument.  <br /></td></tr>
<tr class="separator:a487a68e409d79e61fcc624337c4ac991"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad0bb07a940b7ba08abc3ce114dca99fc"><td class="memItemLeft" align="right" valign="top">virtual double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classas_i_script_generic.html#ad0bb07a940b7ba08abc3ce114dca99fc">GetArgDouble</a> (<a class="el" href="angelscript_8h.html#ac8186f029686800b7ce36bde4a55c815">asUINT</a> arg)=0</td></tr>
<tr class="memdesc:ad0bb07a940b7ba08abc3ce114dca99fc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the value of a double argument.  <br /></td></tr>
<tr class="separator:ad0bb07a940b7ba08abc3ce114dca99fc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7c2d9387da635d7e9d2e3ef3c9f61edd"><td class="memItemLeft" align="right" valign="top">virtual void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classas_i_script_generic.html#a7c2d9387da635d7e9d2e3ef3c9f61edd">GetArgAddress</a> (<a class="el" href="angelscript_8h.html#ac8186f029686800b7ce36bde4a55c815">asUINT</a> arg)=0</td></tr>
<tr class="memdesc:a7c2d9387da635d7e9d2e3ef3c9f61edd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the address held in a reference or handle argument.  <br /></td></tr>
<tr class="separator:a7c2d9387da635d7e9d2e3ef3c9f61edd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac29e5eacc9de2c6a827530fec97b6a81"><td class="memItemLeft" align="right" valign="top">virtual void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classas_i_script_generic.html#ac29e5eacc9de2c6a827530fec97b6a81">GetArgObject</a> (<a class="el" href="angelscript_8h.html#ac8186f029686800b7ce36bde4a55c815">asUINT</a> arg)=0</td></tr>
<tr class="memdesc:ac29e5eacc9de2c6a827530fec97b6a81"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a pointer to the object in a object argument.  <br /></td></tr>
<tr class="separator:ac29e5eacc9de2c6a827530fec97b6a81"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afc2e7e17700820573ef8272504f3472c"><td class="memItemLeft" align="right" valign="top">virtual void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classas_i_script_generic.html#afc2e7e17700820573ef8272504f3472c">GetAddressOfArg</a> (<a class="el" href="angelscript_8h.html#ac8186f029686800b7ce36bde4a55c815">asUINT</a> arg)=0</td></tr>
<tr class="memdesc:afc2e7e17700820573ef8272504f3472c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a pointer to the argument value.  <br /></td></tr>
<tr class="separator:afc2e7e17700820573ef8272504f3472c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader">Return value</div></td></tr>
<tr class="memitem:a9da6f7f81392cd25733ebc6c803a397a"><td class="memItemLeft" align="right" valign="top">virtual int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classas_i_script_generic.html#a9da6f7f81392cd25733ebc6c803a397a">GetReturnTypeId</a> (<a class="el" href="angelscript_8h.html#a5428f0c940201e5f3bbb28304aeb81bc">asDWORD</a> *flags=0) const =0</td></tr>
<tr class="memdesc:a9da6f7f81392cd25733ebc6c803a397a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the type id of the return value.  <br /></td></tr>
<tr class="separator:a9da6f7f81392cd25733ebc6c803a397a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a81c42965dfccfd242e955f50b02a641c"><td class="memItemLeft" align="right" valign="top">virtual int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classas_i_script_generic.html#a81c42965dfccfd242e955f50b02a641c">SetReturnByte</a> (<a class="el" href="angelscript_8h.html#a48b3da7121b3abb56bff63b3beb0df63">asBYTE</a> val)=0</td></tr>
<tr class="memdesc:a81c42965dfccfd242e955f50b02a641c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the 8-bit return value.  <br /></td></tr>
<tr class="separator:a81c42965dfccfd242e955f50b02a641c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9c51e3ff3f4fb37f6b4c82a050319955"><td class="memItemLeft" align="right" valign="top">virtual int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classas_i_script_generic.html#a9c51e3ff3f4fb37f6b4c82a050319955">SetReturnWord</a> (<a class="el" href="angelscript_8h.html#a340da175136fbe283932fa3c3442cea0">asWORD</a> val)=0</td></tr>
<tr class="memdesc:a9c51e3ff3f4fb37f6b4c82a050319955"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the 16-bit return value.  <br /></td></tr>
<tr class="separator:a9c51e3ff3f4fb37f6b4c82a050319955"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3260e1f3b76791713bced9af0b81bdbc"><td class="memItemLeft" align="right" valign="top">virtual int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classas_i_script_generic.html#a3260e1f3b76791713bced9af0b81bdbc">SetReturnDWord</a> (<a class="el" href="angelscript_8h.html#a5428f0c940201e5f3bbb28304aeb81bc">asDWORD</a> val)=0</td></tr>
<tr class="memdesc:a3260e1f3b76791713bced9af0b81bdbc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the 32-bit integer return value.  <br /></td></tr>
<tr class="separator:a3260e1f3b76791713bced9af0b81bdbc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a25f5ec30c666ffbb51edeedfd4c89546"><td class="memItemLeft" align="right" valign="top">virtual int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classas_i_script_generic.html#a25f5ec30c666ffbb51edeedfd4c89546">SetReturnQWord</a> (<a class="el" href="angelscript_8h.html#a10aea5de212e440ffd6ec8fc0b17563d">asQWORD</a> val)=0</td></tr>
<tr class="memdesc:a25f5ec30c666ffbb51edeedfd4c89546"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the 64-bit integer return value.  <br /></td></tr>
<tr class="separator:a25f5ec30c666ffbb51edeedfd4c89546"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acc2fddd4175ad35854cec8f5c38a6495"><td class="memItemLeft" align="right" valign="top">virtual int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classas_i_script_generic.html#acc2fddd4175ad35854cec8f5c38a6495">SetReturnFloat</a> (float val)=0</td></tr>
<tr class="memdesc:acc2fddd4175ad35854cec8f5c38a6495"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the float return value.  <br /></td></tr>
<tr class="separator:acc2fddd4175ad35854cec8f5c38a6495"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8a720ef33859981dd941c616b2c83cad"><td class="memItemLeft" align="right" valign="top">virtual int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classas_i_script_generic.html#a8a720ef33859981dd941c616b2c83cad">SetReturnDouble</a> (double val)=0</td></tr>
<tr class="memdesc:a8a720ef33859981dd941c616b2c83cad"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the double return value.  <br /></td></tr>
<tr class="separator:a8a720ef33859981dd941c616b2c83cad"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afd8ead96f17d6e77f3a26c70c3a1d80c"><td class="memItemLeft" align="right" valign="top">virtual int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classas_i_script_generic.html#afd8ead96f17d6e77f3a26c70c3a1d80c">SetReturnAddress</a> (void *addr)=0</td></tr>
<tr class="memdesc:afd8ead96f17d6e77f3a26c70c3a1d80c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the address return value when the return is a reference or handle.  <br /></td></tr>
<tr class="separator:afd8ead96f17d6e77f3a26c70c3a1d80c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a94c9ca32722cb44b09211e51fa906e6e"><td class="memItemLeft" align="right" valign="top">virtual int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classas_i_script_generic.html#a94c9ca32722cb44b09211e51fa906e6e">SetReturnObject</a> (void *obj)=0</td></tr>
<tr class="memdesc:a94c9ca32722cb44b09211e51fa906e6e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the object return value.  <br /></td></tr>
<tr class="separator:a94c9ca32722cb44b09211e51fa906e6e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac009f35a8d79c9b1de9285a7a34b9e1e"><td class="memItemLeft" align="right" valign="top">virtual void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classas_i_script_generic.html#ac009f35a8d79c9b1de9285a7a34b9e1e">GetAddressOfReturnLocation</a> ()=0</td></tr>
<tr class="memdesc:ac009f35a8d79c9b1de9285a7a34b9e1e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the address to the memory where the return value should be placed.  <br /></td></tr>
<tr class="separator:ac009f35a8d79c9b1de9285a7a34b9e1e"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="afc2e7e17700820573ef8272504f3472c" name="afc2e7e17700820573ef8272504f3472c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afc2e7e17700820573ef8272504f3472c">&#9670;&#160;</a></span>GetAddressOfArg()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void * asIScriptGeneric::GetAddressOfArg </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="angelscript_8h.html#ac8186f029686800b7ce36bde4a55c815">asUINT</a>&#160;</td>
          <td class="paramname"><em>arg</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">arg</td><td>The argument index. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>A pointer to the argument value. </dd></dl>

</div>
</div>
<a id="ac009f35a8d79c9b1de9285a7a34b9e1e" name="ac009f35a8d79c9b1de9285a7a34b9e1e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac009f35a8d79c9b1de9285a7a34b9e1e">&#9670;&#160;</a></span>GetAddressOfReturnLocation()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void * asIScriptGeneric::GetAddressOfReturnLocation </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>A pointer to the memory where the return values is to be placed.</dd></dl>
<p>The memory is not initialized, so if you're going to return a complex type by value you shouldn't use the assignment operator to initialize it. Instead use the placement new operator to call the type's copy constructor to perform the initialization.</p>
<div class="fragment"><div class="line"><span class="keyword">new</span>(gen-&gt;GetAddressOfReturnLocation()) std::string(myRetValue);</div>
</div><!-- fragment --><p>The placement new operator works for primitive types too, so this method is ideal for writing automatically generated functions that works the same way for all types. </p>

</div>
</div>
<a id="a7c2d9387da635d7e9d2e3ef3c9f61edd" name="a7c2d9387da635d7e9d2e3ef3c9f61edd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7c2d9387da635d7e9d2e3ef3c9f61edd">&#9670;&#160;</a></span>GetArgAddress()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void * asIScriptGeneric::GetArgAddress </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="angelscript_8h.html#ac8186f029686800b7ce36bde4a55c815">asUINT</a>&#160;</td>
          <td class="paramname"><em>arg</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">arg</td><td>The argument index. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The address argument value, which can be a reference or and object handle.</dd></dl>
<p>Don't release the pointer if this is an object or object handle, the <a class="el" href="classas_i_script_generic.html" title="The interface for the generic calling convention.">asIScriptGeneric</a> object will do that for you. </p>

</div>
</div>
<a id="a20f30e6ed55ed952bcb5c70096eb83dd" name="a20f30e6ed55ed952bcb5c70096eb83dd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a20f30e6ed55ed952bcb5c70096eb83dd">&#9670;&#160;</a></span>GetArgByte()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="angelscript_8h.html#a48b3da7121b3abb56bff63b3beb0df63">asBYTE</a> asIScriptGeneric::GetArgByte </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="angelscript_8h.html#ac8186f029686800b7ce36bde4a55c815">asUINT</a>&#160;</td>
          <td class="paramname"><em>arg</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">arg</td><td>The argument index. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The 1 byte argument value. </dd></dl>

</div>
</div>
<a id="aafdaf0ed1ff5023b2aaf4ae1adfa3714" name="aafdaf0ed1ff5023b2aaf4ae1adfa3714"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aafdaf0ed1ff5023b2aaf4ae1adfa3714">&#9670;&#160;</a></span>GetArgCount()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual int asIScriptGeneric::GetArgCount </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>The number of arguments to the function. </dd></dl>

</div>
</div>
<a id="ad0bb07a940b7ba08abc3ce114dca99fc" name="ad0bb07a940b7ba08abc3ce114dca99fc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad0bb07a940b7ba08abc3ce114dca99fc">&#9670;&#160;</a></span>GetArgDouble()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual double asIScriptGeneric::GetArgDouble </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="angelscript_8h.html#ac8186f029686800b7ce36bde4a55c815">asUINT</a>&#160;</td>
          <td class="paramname"><em>arg</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">arg</td><td>The argument index. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The double argument value. </dd></dl>

</div>
</div>
<a id="aab74bcbe4be32fc423b21b75a3f4d57a" name="aab74bcbe4be32fc423b21b75a3f4d57a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aab74bcbe4be32fc423b21b75a3f4d57a">&#9670;&#160;</a></span>GetArgDWord()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="angelscript_8h.html#a5428f0c940201e5f3bbb28304aeb81bc">asDWORD</a> asIScriptGeneric::GetArgDWord </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="angelscript_8h.html#ac8186f029686800b7ce36bde4a55c815">asUINT</a>&#160;</td>
          <td class="paramname"><em>arg</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">arg</td><td>The argument index. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The 4 byte argument value. </dd></dl>

</div>
</div>
<a id="a487a68e409d79e61fcc624337c4ac991" name="a487a68e409d79e61fcc624337c4ac991"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a487a68e409d79e61fcc624337c4ac991">&#9670;&#160;</a></span>GetArgFloat()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual float asIScriptGeneric::GetArgFloat </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="angelscript_8h.html#ac8186f029686800b7ce36bde4a55c815">asUINT</a>&#160;</td>
          <td class="paramname"><em>arg</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">arg</td><td>The argument index. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The float argument value. </dd></dl>

</div>
</div>
<a id="ac29e5eacc9de2c6a827530fec97b6a81" name="ac29e5eacc9de2c6a827530fec97b6a81"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac29e5eacc9de2c6a827530fec97b6a81">&#9670;&#160;</a></span>GetArgObject()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void * asIScriptGeneric::GetArgObject </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="angelscript_8h.html#ac8186f029686800b7ce36bde4a55c815">asUINT</a>&#160;</td>
          <td class="paramname"><em>arg</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">arg</td><td>The argument index. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>A pointer to the object argument, which can be an object value or object handle.</dd></dl>
<p>Don't release the pointer if this is an object handle, the <a class="el" href="classas_i_script_generic.html" title="The interface for the generic calling convention.">asIScriptGeneric</a> object will do that for you. </p>

</div>
</div>
<a id="a0fbd6ce45aebc29e29a64dac4affc111" name="a0fbd6ce45aebc29e29a64dac4affc111"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0fbd6ce45aebc29e29a64dac4affc111">&#9670;&#160;</a></span>GetArgQWord()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="angelscript_8h.html#a10aea5de212e440ffd6ec8fc0b17563d">asQWORD</a> asIScriptGeneric::GetArgQWord </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="angelscript_8h.html#ac8186f029686800b7ce36bde4a55c815">asUINT</a>&#160;</td>
          <td class="paramname"><em>arg</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">arg</td><td>The argument index. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The 8 byte argument value. </dd></dl>

</div>
</div>
<a id="a2bdce6872b371355665e932a962548cb" name="a2bdce6872b371355665e932a962548cb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2bdce6872b371355665e932a962548cb">&#9670;&#160;</a></span>GetArgTypeId()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual int asIScriptGeneric::GetArgTypeId </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="angelscript_8h.html#ac8186f029686800b7ce36bde4a55c815">asUINT</a>&#160;</td>
          <td class="paramname"><em>arg</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="angelscript_8h.html#a5428f0c940201e5f3bbb28304aeb81bc">asDWORD</a> *&#160;</td>
          <td class="paramname"><em>flags</em> = <code>0</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">arg</td><td>The argument index. </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">flags</td><td>A combination of <a class="el" href="angelscript_8h.html#a335bd4a1384b6e408bf9b37ffdeb54c7">asETypeModifiers</a>. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The type id of the argument. </dd></dl>

</div>
</div>
<a id="afdb602c3c2e285c5f34bc477ebbd1534" name="afdb602c3c2e285c5f34bc477ebbd1534"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afdb602c3c2e285c5f34bc477ebbd1534">&#9670;&#160;</a></span>GetArgWord()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="angelscript_8h.html#a340da175136fbe283932fa3c3442cea0">asWORD</a> asIScriptGeneric::GetArgWord </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="angelscript_8h.html#ac8186f029686800b7ce36bde4a55c815">asUINT</a>&#160;</td>
          <td class="paramname"><em>arg</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">arg</td><td>The argument index. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The 2 byte argument value. </dd></dl>

</div>
</div>
<a id="ae620950cd0ea67b1453bba325bd6570c" name="ae620950cd0ea67b1453bba325bd6570c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae620950cd0ea67b1453bba325bd6570c">&#9670;&#160;</a></span>GetAuxiliary()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void * asIScriptGeneric::GetAuxiliary </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>The auxiliary registered with the function. </dd></dl>

</div>
</div>
<a id="a5fef937252a5726890ddeb18f96257a8" name="a5fef937252a5726890ddeb18f96257a8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5fef937252a5726890ddeb18f96257a8">&#9670;&#160;</a></span>GetEngine()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classas_i_script_engine.html">asIScriptEngine</a> * asIScriptGeneric::GetEngine </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>A pointer to the engine. </dd></dl>

</div>
</div>
<a id="ad221b72a595a60b26b6cca6af7729155" name="ad221b72a595a60b26b6cca6af7729155"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad221b72a595a60b26b6cca6af7729155">&#9670;&#160;</a></span>GetFunction()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classas_i_script_function.html">asIScriptFunction</a> * asIScriptGeneric::GetFunction </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>The function that is being called. </dd></dl>

</div>
</div>
<a id="afe84e6c748c915bcf372c1ecd747e367" name="afe84e6c748c915bcf372c1ecd747e367"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afe84e6c748c915bcf372c1ecd747e367">&#9670;&#160;</a></span>GetObject()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void * asIScriptGeneric::GetObject </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>A pointer to the object, if this is a method. </dd></dl>

</div>
</div>
<a id="a3de95071fa358d554137cae88a5229ea" name="a3de95071fa358d554137cae88a5229ea"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3de95071fa358d554137cae88a5229ea">&#9670;&#160;</a></span>GetObjectTypeId()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual int asIScriptGeneric::GetObjectTypeId </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>The type id of the object if this is a method. </dd></dl>

</div>
</div>
<a id="a9da6f7f81392cd25733ebc6c803a397a" name="a9da6f7f81392cd25733ebc6c803a397a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9da6f7f81392cd25733ebc6c803a397a">&#9670;&#160;</a></span>GetReturnTypeId()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual int asIScriptGeneric::GetReturnTypeId </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="angelscript_8h.html#a5428f0c940201e5f3bbb28304aeb81bc">asDWORD</a> *&#160;</td>
          <td class="paramname"><em>flags</em> = <code>0</code></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[out]</td><td class="paramname">flags</td><td>A combination of <a class="el" href="angelscript_8h.html#a335bd4a1384b6e408bf9b37ffdeb54c7">asETypeModifiers</a>. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The type id of the return value. </dd></dl>

</div>
</div>
<a id="afd8ead96f17d6e77f3a26c70c3a1d80c" name="afd8ead96f17d6e77f3a26c70c3a1d80c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afd8ead96f17d6e77f3a26c70c3a1d80c">&#9670;&#160;</a></span>SetReturnAddress()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual int asIScriptGeneric::SetReturnAddress </td>
          <td>(</td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>addr</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">addr</td><td>The return value, which is an address. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>A negative value on error. </dd></dl>
<dl class="retval"><dt>Return values</dt><dd>
  <table class="retval">
    <tr><td class="paramname">asINVALID_TYPE</td><td>The return type is not a reference or handle.</td></tr>
  </table>
  </dd>
</dl>
<p>Sets the address return value. If an object handle the application must first increment the reference counter, unless it won't keep a reference itself. </p>

</div>
</div>
<a id="a81c42965dfccfd242e955f50b02a641c" name="a81c42965dfccfd242e955f50b02a641c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a81c42965dfccfd242e955f50b02a641c">&#9670;&#160;</a></span>SetReturnByte()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual int asIScriptGeneric::SetReturnByte </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="angelscript_8h.html#a48b3da7121b3abb56bff63b3beb0df63">asBYTE</a>&#160;</td>
          <td class="paramname"><em>val</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">val</td><td>The return value. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>A negative value on error. </dd></dl>
<dl class="retval"><dt>Return values</dt><dd>
  <table class="retval">
    <tr><td class="paramname">asINVALID_TYPE</td><td>The return type is not an 8-bit value. Sets the 1 byte return value. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="a8a720ef33859981dd941c616b2c83cad" name="a8a720ef33859981dd941c616b2c83cad"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8a720ef33859981dd941c616b2c83cad">&#9670;&#160;</a></span>SetReturnDouble()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual int asIScriptGeneric::SetReturnDouble </td>
          <td>(</td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>val</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">val</td><td>The return value. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>A negative value on error. </dd></dl>
<dl class="retval"><dt>Return values</dt><dd>
  <table class="retval">
    <tr><td class="paramname">asINVALID_TYPE</td><td>The return type is not a 64-bit value. Sets the double return value. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="a3260e1f3b76791713bced9af0b81bdbc" name="a3260e1f3b76791713bced9af0b81bdbc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3260e1f3b76791713bced9af0b81bdbc">&#9670;&#160;</a></span>SetReturnDWord()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual int asIScriptGeneric::SetReturnDWord </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="angelscript_8h.html#a5428f0c940201e5f3bbb28304aeb81bc">asDWORD</a>&#160;</td>
          <td class="paramname"><em>val</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">val</td><td>The return value. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>A negative value on error. </dd></dl>
<dl class="retval"><dt>Return values</dt><dd>
  <table class="retval">
    <tr><td class="paramname">asINVALID_TYPE</td><td>The return type is not a 32-bit value. Sets the 4 byte return value. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="acc2fddd4175ad35854cec8f5c38a6495" name="acc2fddd4175ad35854cec8f5c38a6495"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acc2fddd4175ad35854cec8f5c38a6495">&#9670;&#160;</a></span>SetReturnFloat()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual int asIScriptGeneric::SetReturnFloat </td>
          <td>(</td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>val</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">val</td><td>The return value. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>A negative value on error. </dd></dl>
<dl class="retval"><dt>Return values</dt><dd>
  <table class="retval">
    <tr><td class="paramname">asINVALID_TYPE</td><td>The return type is not a 32-bit value. Sets the float return value. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="a94c9ca32722cb44b09211e51fa906e6e" name="a94c9ca32722cb44b09211e51fa906e6e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a94c9ca32722cb44b09211e51fa906e6e">&#9670;&#160;</a></span>SetReturnObject()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual int asIScriptGeneric::SetReturnObject </td>
          <td>(</td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>obj</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">obj</td><td>A pointer to the object return value. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>A negative value on error. </dd></dl>
<dl class="retval"><dt>Return values</dt><dd>
  <table class="retval">
    <tr><td class="paramname">asINVALID_TYPE</td><td>The return type is not an object value or handle.</td></tr>
  </table>
  </dd>
</dl>
<p>If the function returns an object, the library will automatically do what is necessary based on how the object was declared, i.e. if the function was registered to return a handle then the library will call the addref behaviour. If it was registered to return an object by value, then the library will make a copy of the object. </p>

</div>
</div>
<a id="a25f5ec30c666ffbb51edeedfd4c89546" name="a25f5ec30c666ffbb51edeedfd4c89546"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a25f5ec30c666ffbb51edeedfd4c89546">&#9670;&#160;</a></span>SetReturnQWord()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual int asIScriptGeneric::SetReturnQWord </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="angelscript_8h.html#a10aea5de212e440ffd6ec8fc0b17563d">asQWORD</a>&#160;</td>
          <td class="paramname"><em>val</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">val</td><td>The return value. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>A negative value on error. </dd></dl>
<dl class="retval"><dt>Return values</dt><dd>
  <table class="retval">
    <tr><td class="paramname">asINVALID_TYPE</td><td>The return type is not a 64-bit value. Sets the 8 byte return value. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="a9c51e3ff3f4fb37f6b4c82a050319955" name="a9c51e3ff3f4fb37f6b4c82a050319955"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9c51e3ff3f4fb37f6b4c82a050319955">&#9670;&#160;</a></span>SetReturnWord()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual int asIScriptGeneric::SetReturnWord </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="angelscript_8h.html#a340da175136fbe283932fa3c3442cea0">asWORD</a>&#160;</td>
          <td class="paramname"><em>val</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">val</td><td>The return value. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>A negative value on error. </dd></dl>
<dl class="retval"><dt>Return values</dt><dd>
  <table class="retval">
    <tr><td class="paramname">asINVALID_TYPE</td><td>The return type is not a 16-bit value. Sets the 2 byte return value. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="angelscript_8h.html">angelscript.h</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><a class="el" href="classas_i_script_generic.html">asIScriptGeneric</a></li>
    <li class="footer">Generated on Sun May 21 2023 10:12:40 for AngelScript by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.6 </li>
  </ul>
</div>
</body>
</html>
